package com.relytosoft.mizar.analyze.structure.api.pojo.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.relytosoft.dubhe.common.core.base.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.validation.constraints.NotBlank;
import java.time.LocalDateTime;

/**
 * @Author: zyc
 * @version: v1.0
 * @description: com.relytosoft.mizar.analyze.structure.api.pojo.vo
 * @Date: 2022/5/18 17:03
 */
@ApiModel("AyStructureDispositionVo")
public class AyStructureDispositionVo extends BaseEntity {
    /**
     * 主键
     */
    @ApiModelProperty(value = "主键")
    @TableField("ID")
    private Integer id;


    /**
     * 布控任务名称
     */
    @ApiModelProperty(value = "布控任务名称", required = true)
    @TableField("NAME")
    @NotBlank(message = "布控任务名称不能为空")
    private String name;

    /**
     * 布控类型;1：条件（文本），2：图片3：车辆库
     */
    @ApiModelProperty(value = "布控类型;1：条件（文本），2：图片3：车辆库", required = true)
    @TableField("DISPOSITION_TYPE")
    @NotBlank(message = "布控类型;1：条件（文本），2：图片，3：车辆库;不能为空")
    private Integer dispositionType;

    /**
     * 布控方式;人/机动车/非机动车
     */
    @ApiModelProperty(value = "布控方式;人/机动车/非机动车", required = true)
    @TableField("DISPOSITION_CATEGORY")
    @NotBlank(message = "布控方式;人/机动车/非机动车不能为空")
    private Integer dispositionCategory;

    /**
     * 布控范围视频源;多个以英文分号隔开
     */
    @ApiModelProperty(value = "布控范围视频源;多个以英文分号隔开", required = true)
    @TableField("DISPOSITION_RANGE_DEVICE")
    @NotBlank(message = "布控范围视频源;多个以英文分号隔开不能为空")
    private String dispositionRangeDevice;


    /**
     * 布控状态;0：未开始，1：布控中，2：已结束，3：异常
     */
    @ApiModelProperty(value = "布控状态;0：未开始，1：布控中，2：已结束，3：异常", required = true)
    @TableField("STATUS")
    @NotBlank(message = "布控状态;0：未开始，1：布控中，2：已结束，3：异常不能为空")
    private Integer status;

    /**
     * 任务开始时间
     */
    @ApiModelProperty(value = "任务开始时间")
    @TableField("BEGIN_TIME")
    private LocalDateTime beginTime;

    /**
     * 任务结束时间
     */
    @ApiModelProperty(value = "任务结束时间")
    @TableField("END_TIME")
    private LocalDateTime endTime;


    /**
     * 临时名单生效开始时间
     */
    @ApiModelProperty(value = "临时名单生效开始时间")
    @TableField("TEMP_BEGIN_TIME")
    private LocalDateTime tempBeginTime;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    @TableField("REMARK")
    private String remark;

    /**
     * 临时名单生效结束时间
     */
    @ApiModelProperty(value = "临时名单生效结束时间")
    @TableField("TEMP_END_TIME")
    private LocalDateTime tempEndTime;

    /**
     * 车辆库;多个以英文分号隔开
     */
    @ApiModelProperty(value = "车辆库;多个以英文分号隔开")
    @TableField("VEHICLE_GROUP")
    private String vehicleGroup;

    /**
     * 临时车辆库;多个以英文分号隔开
     */
    @ApiModelProperty(value = "临时车辆库;多个以英文分号隔开")
    @TableField("TEMP_VEHICLE_GROUP")
    private String tempVehicleGroup;

    /**
     * 布控图片ID
     */
    @ApiModelProperty(value = "布控图片ID")
    @TableField("IMAGE_ID")
    private Integer imageId;

    /**
     * 布控图片地址
     */
    @ApiModelProperty(value = "布控图片地址")
    @TableField("IMAGE_URL")
    private String imageUrl;

    /**
     * 获得主键
     */
    public Integer getId() {
        return this.id;
    }

    /**
     * 设置主键
     */
    public void setId(Integer id) {
        this.id = id;
    }


    /**
     * 获得布控任务名称
     */
    public String getName() {
        return this.name;
    }

    /**
     * 设置布控任务名称
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获得布控类型;1：条件（文本），2：图片 3：车辆库
     */
    public Integer getDispositionType() {
        return this.dispositionType;
    }

    /**
     * 设置布控类型;1：条件（文本），2：图片 3：车辆库
     */
    public void setDispositionType(Integer dispositionType) {
        this.dispositionType = dispositionType;
    }

    /**
     * 获得布控方式;人/机动车/非机动车
     */
    public Integer getDispositionCategory() {
        return this.dispositionCategory;
    }

    /**
     * 设置布控方式;人/机动车/非机动车
     */
    public void setDispositionCategory(Integer dispositionCategory) {
        this.dispositionCategory = dispositionCategory;
    }

    /**
     * 获得布控范围视频源;多个以英文分号隔开
     */
    public String getDispositionRangeDevice() {
        return this.dispositionRangeDevice;
    }

    /**
     * 设置布控范围视频源;多个以英文分号隔开
     */
    public void setDispositionRangeDevice(String dispositionRangeDevice) {
        this.dispositionRangeDevice = dispositionRangeDevice;
    }

    /**
     * 获得任务开始时间
     */
    public LocalDateTime getBeginTime() {
        return this.beginTime;
    }

    /**
     * 设置任务开始时间
     */
    public void setBeginTime(LocalDateTime beginTime) {
        this.beginTime = beginTime;
    }

    /**
     * 获得任务结束时间
     */
    public LocalDateTime getEndTime() {
        return this.endTime;
    }

    /**
     * 设置任务结束时间
     */
    public void setEndTime(LocalDateTime endTime) {
        this.endTime = endTime;
    }


    /**
     * 获得备注
     */
    public String getRemark() {
        return this.remark;
    }

    /**
     * 设置备注
     */
    public void setRemark(String remark) {
        this.remark = remark;
    }

    /**
     * 获得车辆库;多个以英文分号隔开
     */
    public String getVehicleGroup() {
        return this.vehicleGroup;
    }

    /**
     * 设置车辆库;多个以英文分号隔开
     */
    public void setVehicleGroup(String vehicleGroup) {
        this.vehicleGroup = vehicleGroup;
    }

    /**
     * 获得临时车辆库;多个以英文分号隔开
     */
    public String getTempVehicleGroup() {
        return this.tempVehicleGroup;
    }

    /**
     * 设置临时车辆库;多个以英文分号隔开
     */
    public void setTempVehicleGroup(String tempVehicleGroup) {
        this.tempVehicleGroup = tempVehicleGroup;
    }

    /**
     * 获得临时名单生效开始时间
     */
    public LocalDateTime getTempBeginTime() {
        return this.tempBeginTime;
    }

    /**
     * 设置临时名单生效开始时间
     */
    public void setTempBeginTime(LocalDateTime tempBeginTime) {
        this.tempBeginTime = tempBeginTime;
    }

    /**
     * 获得临时名单生效结束时间
     */
    public LocalDateTime getTempEndTime() {
        return this.tempEndTime;
    }

    /**
     * 设置临时名单生效结束时间
     */
    public void setTempEndTime(LocalDateTime tempEndTime) {
        this.tempEndTime = tempEndTime;
    }

    /**
     * 获得布控状态;0：未开始，1：布控中，2：已结束，3：异常
     */
    public Integer getStatus() {
        return this.status;
    }

    /**
     * 设置布控状态;0：未开始，1：布控中，2：已结束，3：异常
     */
    public void setStatus(Integer status) {
        this.status = status;
    }


    /**
     * 获得布控图片ID
     */
    public Integer getImageId() {
        return this.imageId;
    }

    /**
     * 设置布控图片ID
     */
    public void setImageId(Integer imageId) {
        this.imageId = imageId;
    }

    /**
     * 获得布控图片地址
     */
    public String getImageUrl() {
        return this.imageUrl;
    }

    /**
     * 设置布控图片地址
     */
    public void setImageUrl(String imageUrl) {
        this.imageUrl = imageUrl;
    }

    @Override
    public String toString() {
        return "AyStructureDisposition{id=" + id +
                ",name=" + name +
                ",dispositionType=" + dispositionType +
                ",dispositionCategory=" + dispositionCategory +
                ",dispositionRangeDevice=" + dispositionRangeDevice +
                ",beginTime=" + beginTime +
                ",endTime=" + endTime +
                ",remark=" + remark +
                ",vehicleGroup=" + vehicleGroup +
                ",tempVehicleGroup=" + tempVehicleGroup +
                ",tempBeginTime=" + tempBeginTime +
                ",tempEndTime=" + tempEndTime +
                ",status=" + status +
                ",imageId=" + imageId +
                ",imageUrl=" + imageUrl +
                ",createdId=" + createdId +
                ",createdBy=" + createdBy +
                ",createdTime=" + createdTime +
                ",updatedId=" + updatedId +
                ",updatedBy=" + updatedBy +
                ",updatedTime=" + updatedTime +
                "}";
    }
}
